home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QuickTime 1.5 for Developers
/
QuickTime 1.5 for Developers.iso
/
System Stuff
/
Video Digitizers
/
RasterOps
/
RasterOps Drivers
/
RasterOps Drivers.rsrc
/
INIT_0_Version 1.0.5.txt
< prev
next >
Wrap
Text File
|
1992-10-15
|
60KB
|
1,075 lines
start:
00000000 600E bra +0x10 /* 00000010 */
00000002 0000 494E ori.b D0, 0x4E /* 'N' */
00000006 4954 chk.w D4, [A4]
00000008 0000 0000 ori.b D0, 0x0
0000000C 0000 0000 ori.b D0, 0x0
label00000010:
00000010 41FA FFEE lea.l A0, [PC - 0x12 /* 00000000, value 0x600E0000 */]
00000014 4E71 nop
00000016 4E71 nop
00000018 6000 0002 bra +0x4 /* 0000001C */
label0000001C:
0000001C 4E56 FF3C link A6, -0x00C4
00000020 48E7 1F30 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3
00000024 303C A055 move.w D0, 0xA055
00000028 A346 syscall GetOSTrapAddress, flags=3
0000002A 2D48 FF3C move.l [A6 - 0xC4], A0
0000002E 303C A89F move.w D0, 0xA89F
00000032 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000034 B1EE FF3C cmpa.l A0, [A6 - 0xC4]
00000038 6700 0258 beq +0x25A /* 00000292 */
0000003C 4EBA 025C jsr [PC + 0x25C /* 0000029A */]
00000040 4227 clr.b -[A7]
00000042 A974 syscall Button
00000044 4A1F tst.b [A7]+
00000046 6600 024A bne +0x24C /* 00000292 */
0000004A 486E FFE4 pea.l [A6 - 0x1C]
0000004E A976 syscall GetKeys
00000050 7000 moveq.l D0, 0x00
00000052 102E FFEB move.b D0, [A6 - 0x15]
00000056 0240 0001 andi.w D0, 0x1
0000005A 6600 0236 bne +0x238 /* 00000292 */
0000005E 4267 clr.w -[A7]
00000060 3F3C 0002 move.w -[A7], 0x2
00000064 486E FF40 pea.l [A6 - 0xC0]
00000068 4EBA 067E jsr [PC + 0x67E /* 000006E8 */]
0000006C 3D5F FFFC move.w [A6 - 0x4], [A7]+
00000070 6600 0220 bne +0x222 /* 00000292 */
00000074 422E FFC5 clr.b [A6 - 0x3B]
00000078 0C6E 0607 FF44 cmpi.w [A6 - 0xBC], 0x607
0000007E 6D26 blt +0x28 /* 000000A6 */
00000080 4267 clr.w -[A7]
00000082 2F3C 736E 6420 move.l -[A7], 0x736E6420 /* 'snd ' */
00000088 486E FFF4 pea.l [A6 - 0xC]
0000008C 4EBA 07C4 jsr [PC + 0x7C4 /* 00000852 */]
00000090 301F move.w D0, [A7]+
00000092 3D40 FFFC move.w [A6 - 0x4], D0
00000096 660E bne +0x10 /* 000000A6 */
00000098 082E 0003 FFF7 btst.b [A6 - 0x9], 0x3
0000009E 56C0 sne D0
000000A0 4400 neg.b D0
000000A2 1D40 FFC5 move.b [A6 - 0x3B], D0
label000000A6:
000000A6 303C A06E move.w D0, 0xA06E
000000AA A346 syscall GetOSTrapAddress, flags=3
000000AC 2D48 FF3C move.l [A6 - 0xC4], A0
000000B0 303C A89F move.w D0, 0xA89F
000000B4 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000000B6 B1EE FF3C cmpa.l A0, [A6 - 0xC4]
000000BA 6700 01D6 beq +0x1D8 /* 00000292 */
000000BE 42A7 clr.l -[A7]
000000C0 2F3C 5253 4C44 move.l -[A7], 0x52534C44 /* 'RSLD' */
000000C6 3F3C 0080 move.w -[A7], 0x80
000000CA A9A0 syscall GetResource
000000CC 281F move.l D4, [A7]+
000000CE 6700 01C2 beq +0x1C4 /* 00000292 */
000000D2 42A7 clr.l -[A7]
000000D4 2F04 move.l -[A7], D4
000000D6 4EBA 0996 jsr [PC + 0x996 /* 00000A6E */]
000000DA 201F move.l D0, [A7]+
000000DC E688 lsr D0, 3
000000DE 3D40 FFFA move.w [A6 - 0x6], D0
000000E2 2044 movea.l A0, D4
000000E4 A029 syscall HLock
000000E6 7600 moveq.l D3, 0x00
000000E8 6014 bra +0x16 /* 000000FE */
label000000EA:
000000EA 204E movea.l A0, A6
000000EC D0C3 add.w A0, D3
000000EE 4270 30C6 clr.w [A0 + D3.w - 0x58]
000000F2 2003 move.l D0, D3
000000F4 48C0 ext.l D0
000000F6 E588 lsl D0, 2
000000F8 42B6 0888 clr.l [A6 + D0 - 0x120]
000000FC 5243 addq.w D3, 1
label000000FE:
000000FE 0C43 000F cmpi.w D3, 0xF
00000102 6DE6 blt -0x18 /* 000000EA */
00000104 7600 moveq.l D3, 0x00
00000106 6000 0084 bra +0x86 /* 0000018C */
label0000010A:
0000010A 1D43 FF81 move.b [A6 - 0x7F], D3
0000010E 422E FF82 clr.b [A6 - 0x7E]
00000112 422E FF83 clr.b [A6 - 0x7D]
00000116 41EE FF50 lea.l A0, [A6 - 0xB0]
0000011A 7014 moveq.l D0, 0x14
0000011C A06E syscall SlotManager
0000011E 3D40 FFFC move.w [A6 - 0x4], D0
00000122 6666 bne +0x68 /* 0000018A */
00000124 102E FF81 move.b D0, [A6 - 0x7F]
00000128 4880 ext.w D0
0000012A B640 cmp.w D3, D0
0000012C 665C bne +0x5E /* 0000018A */
0000012E 1D7C 0020 FF82 move.b [A6 - 0x7E], 0x20 /* ' ' */
00000134 42AE FF50 clr.l [A6 - 0xB0]
00000138 41EE FF50 lea.l A0, [A6 - 0xB0]
0000013C 7001 moveq.l D0, 0x01
0000013E A06E syscall SlotManager
00000140 4A40 tst.w D0
00000142 6646 bne +0x48 /* 0000018A */
00000144 204E movea.l A0, A6
00000146 D0C3 add.w A0, D3
00000148 31AE FF52 30C6 move.w [A0 + D3.w - 0x58], [A6 - 0xAE]
0000014E 42A7 clr.l -[A7]
00000150 AA29 syscall GetDeviceList
00000152 245F movea.l A2, [A7]+
00000154 6030 bra +0x32 /* 00000186 */
label00000156:
00000156 2052 movea.l A0, [A2]
00000158 3010 move.w D0, [A0]
0000015A 4640 not.w D0
0000015C 48C0 ext.l D0
0000015E E588 lsl D0, 2
00000160 D0B8 011C add.l D0, [0x0000011C /* UTableBase */]
00000164 2240 movea.l A1, D0
00000166 2251 movea.l A1, [A1]
00000168 2251 movea.l A1, [A1]
0000016A 1029 0028 move.b D0, [A1 + 0x28]
0000016E 4880 ext.w D0
00000170 B640 cmp.w D3, D0
00000172 660A bne +0xC /* 0000017E */
00000174 2003 move.l D0, D3
00000176 48C0 ext.l D0
00000178 E588 lsl D0, 2
0000017A 2D8A 0888 move.l [A6 + D0 - 0x120], A2
label0000017E:
0000017E 42A7 clr.l -[A7]
00000180 2F0A move.l -[A7], A2
00000182 AA2B syscall GetNextDevice
00000184 245F movea.l A2, [A7]+
label00000186:
00000186 200A move.l D0, A2
00000188 66CC bne -0x32 /* 00000156 */
label0000018A:
0000018A 5243 addq.w D3, 1
label0000018C:
0000018C 0C43 000E cmpi.w D3, 0xE
00000190 6F00 FF78 ble -0x86 /* 0000010A */
00000194 7E00 moveq.l D7, 0x00
00000196 7600 moveq.l D3, 0x00
00000198 6000 00DE bra +0xE0 /* 00000278 */
label0000019C:
0000019C 204E movea.l A0, A6
0000019E D0C3 add.w A0, D3
000001A0 4A70 30C6 tst.w [A0 + D3.w - 0x58]
000001A4 6700 00D0 beq +0xD2 /* 00000276 */
000001A8 2044 movea.l A0, D4
000001AA 2650 movea.l A3, [A0]
000001AC 426E FFFE clr.w [A6 - 0x2]
000001B0 6000 00B8 bra +0xBA /* 0000026A */
label000001B4:
000001B4 204E movea.l A0, A6
000001B6 D0C3 add.w A0, D3
000001B8 3013 move.w D0, [A3]
000001BA B070 30C6 cmp.w D0, [A0 + D3.w - 0x58]
000001BE 6600 00A4 bne +0xA6 /* 00000264 */
000001C2 7C00 moveq.l D6, 0x00
000001C4 7A00 moveq.l D5, 0x00
000001C6 6018 bra +0x1A /* 000001E0 */
label000001C8:
000001C8 204E movea.l A0, A6
000001CA D0C5 add.w A0, D5
000001CC 224E movea.l A1, A6
000001CE D2C3 add.w A1, D3
000001D0 3030 50C6 move.w D0, [A0 + D5.w - 0x58]
000001D4 B071 30C6 cmp.w D0, [A1 + D3.w - 0x58]
000001D8 6604 bne +0x6 /* 000001DE */
000001DA 7C01 moveq.l D6, 0x01
000001DC 6006 bra +0x8 /* 000001E4 */
label000001DE:
000001DE 5245 addq.w D5, 1
label000001E0:
000001E0 B645 cmp.w D3, D5
000001E2 6EE4 bgt -0x1A /* 000001C8 */
label000001E4:
000001E4 4A06 tst.b D6
000001E6 667C bne +0x7E /* 00000264 */
000001E8 204E movea.l A0, A6
000001EA D0C3 add.w A0, D3
000001EC 3030 30C6 move.w D0, [A0 + D3.w - 0x58]
000001F0 6B16 bmi +0x18 /* 00000208 */
000001F2 0440 0406 subi.w D0, 0x406
000001F6 6702 beq +0x4 /* 000001FA */
000001F8 600E bra +0x10 /* 00000208 */
label000001FA:
000001FA 0C6B 007F 0002 cmpi.w [A3 + 0x2], 0x7F
00000200 6606 bne +0x8 /* 00000208 */
00000202 4A2E FFC5 tst.b [A6 - 0x3B]
00000206 675C beq +0x5E /* 00000264 */
label00000208:
00000208 486E FFF8 pea.l [A6 - 0x8]
0000020C 3F2B 0002 move.w -[A7], [A3 + 0x2]
00000210 2F2B 0004 move.l -[A7], [A3 + 0x4]
00000214 4EBA 01AA jsr [PC + 0x1AA /* 000003C0 */]
00000218 4A40 tst.w D0
0000021A 4FEF 000A lea.l A7, [A7 + 0xA]
0000021E 6644 bne +0x46 /* 00000264 */
00000220 204E movea.l A0, A6
00000222 D0C3 add.w A0, D3
00000224 3030 30C6 move.w D0, [A0 + D3.w - 0x58]
00000228 6B38 bmi +0x3A /* 00000262 */
0000022A 0440 0448 subi.w D0, 0x448
0000022E 671E beq +0x20 /* 0000024E */
00000230 6A30 bpl +0x32 /* 00000262 */
00000232 0440 FFBE subi.w D0, 0xFFBE
00000236 6702 beq +0x4 /* 0000023A */
00000238 6028 bra +0x2A /* 00000262 */
label0000023A:
0000023A 0C6B 007F 0002 cmpi.w [A3 + 0x2], 0x7F
00000240 6620 bne +0x22 /* 00000262 */
00000242 3F2E FFF8 move.w -[A7], [A6 - 0x8]
00000246 4EBA 005A jsr [PC + 0x5A /* 000002A2 */]
0000024A 548F addq.l A7, 2
0000024C 6014 bra +0x16 /* 00000262 */
label0000024E:
0000024E 486E FF88 pea.l [A6 - 0x78]
00000252 486E FFC6 pea.l [A6 - 0x3A]
00000256 3F2E FFF8 move.w -[A7], [A6 - 0x8]
0000025A 4EBA 0072 jsr [PC + 0x72 /* 000002CE */]
0000025E 4FEF 000A lea.l A7, [A7 + 0xA]
label00000262:
00000262 7E01 moveq.l D7, 0x01
label00000264:
00000264 508B addq.l A3, 8
00000266 526E FFFE addq.w [A6 - 0x2], 1
label0000026A:
0000026A 302E FFFE move.w D0, [A6 - 0x2]
0000026E B06E FFFA cmp.w D0, [A6 - 0x6]
00000272 6D00 FF40 blt -0xBE /* 000001B4 */
label00000276:
00000276 5243 addq.w D3, 1
label00000278:
00000278 0C43 000F cmpi.w D3, 0xF
0000027C 6D00 FF1E blt -0xE0 /* 0000019C */
00000280 2F04 move.l -[A7], D4
00000282 A9A3 syscall ReleaseResource
00000284 4A07 tst.b D7
00000286 670A beq +0xC /* 00000292 */
00000288 3F3C 0080 move.w -[A7], 0x80
0000028C 4EBA 02F6 jsr [PC + 0x2F6 /* 00000584 */]
00000290 548F addq.l A7, 2
label00000292:
00000292 4CDF 0CF8 movem.l D3,D4,D5,D6,D7,A2,A3, [A7]+
00000296 4E5E unlink A6
00000298 4E75 rts
fn0000029A:
0000029A 2017 move.l D0, [A7]
0000029C A055 syscall StripAddress
0000029E 2E80 move.l [A7], D0
000002A0 4E75 rts
fn000002A2:
000002A2 4E56 FF7E link A6, -0x0082
000002A6 486E FF80 pea.l [A6 - 0x80]
000002AA 2F3C 0002 0080 move.l -[A7], 0x20080
000002B0 4EBA 0802 jsr [PC + 0x802 /* 00000AB4 */]
000002B4 4267 clr.w -[A7]
000002B6 3F2E 0008 move.w -[A7], [A6 + 0x8]
000002BA 486E FF80 pea.l [A6 - 0x80]
000002BE 203C 030C 0014 move.l D0, 0x30C0014
000002C4 A800 syscall SoundDispatch
000002C6 3D5F FF7E move.w [A6 - 0x82], [A7]+
000002CA 4E5E unlink A6
000002CC 4E75 rts
fn000002CE:
000002CE 4E56 FFCE link A6, -0x0032
000002D2 48E7 1F30 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3
000002D6 3D6E 0008 FFE6 move.w [A6 - 0x1A], [A6 + 0x8]
000002DC 3D7C 2367 FFE8 move.w [A6 - 0x18], 0x2367 /* '#g' */
000002E2 426E FFE4 clr.w [A6 - 0x1C]
000002E6 4267 clr.w -[A7]
000002E8 486E FFCE pea.l [A6 - 0x32]
000002EC 4227 clr.b -[A7]
000002EE 4EBA 07B2 jsr [PC + 0x7B2 /* 00000AA2 */]
000002F2 3E1F move.w D7, [A7]+
000002F4 6600 00C2 bne +0xC4 /* 000003B8 */
000002F8 4A6E FFEA tst.w [A6 - 0x16]
000002FC 6D50 blt +0x52 /* 0000034E */
000002FE 0C6E 000E FFEA cmpi.w [A6 - 0x16], 0xE
00000304 6E48 bgt +0x4A /* 0000034E */
00000306 3C2E FFEA move.w D6, [A6 - 0x16]
0000030A 206E 000A movea.l A0, [A6 + 0xA]
0000030E D0C6 add.w A0, D6
00000310 302E FFEC move.w D0, [A6 - 0x14]
00000314 B070 6000 cmp.w D0, [A0 + D6.w]
00000318 6634 bne +0x36 /* 0000034E */
0000031A 2006 move.l D0, D6
0000031C 48C0 ext.l D0
0000031E E588 lsl D0, 2
00000320 D0AE 000E add.l D0, [A6 + 0xE]
00000324 2040 movea.l A0, D0
00000326 2050 movea.l A0, [A0]
00000328 2610 move.l D3, [A0]
0000032A 2043 movea.l A0, D3
0000032C 2243 movea.l A1, D3
0000032E 3A29 0028 move.w D5, [A1 + 0x28]
00000332 9A68 0024 sub.w D5, [A0 + 0x24]
00000336 2043 movea.l A0, D3
00000338 2243 movea.l A1, D3
0000033A 3829 0026 move.w D4, [A1 + 0x26]
0000033E 9868 0022 sub.w D4, [A0 + 0x22]
00000342 BA6E FFEE cmp.w D5, [A6 - 0x12]
00000346 6606 bne +0x8 /* 0000034E */
00000348 B86E FFF0 cmp.w D4, [A6 - 0x10]
0000034C 676A beq +0x6C /* 000003B8 */
label0000034E:
0000034E 7024 moveq.l D0, 0x24
00000350 A71E syscall NewPtrSysClear, flags=7
00000352 2648 movea.l A3, A0
00000354 2008 move.l D0, A0
00000356 6608 bne +0xA /* 00000360 */
label00000358:
00000358 3F3C 0003 move.w -[A7], 0x3
0000035C A9C8 syscall SysBeep
0000035E 6058 bra +0x5A /* 000003B8 */
label00000360:
00000360 377C 0008 0004 move.w [A3 + 0x4], 0x8
00000366 70FF moveq.l D0, 0xFFFFFFFF
00000368 2740 0014 move.l [A3 + 0x14], D0
0000036C 42A7 clr.l -[A7]
0000036E 2F3C 5354 5220 move.l -[A7], 0x53545220 /* 'STR ' */
00000374 3F3C 0080 move.w -[A7], 0x80
00000378 A9A0 syscall GetResource
0000037A 245F movea.l A2, [A7]+
0000037C 200A move.l D0, A2
0000037E 67D8 beq -0x26 /* 00000358 */
00000380 2F0A move.l -[A7], A2
00000382 A992 syscall DetachResource
00000384 204A movea.l A0, A2
00000386 A029 syscall HLock
00000388 2752 0018 move.l [A3 + 0x18], [A2]
0000038C 42A7 clr.l -[A7]
0000038E 2F3C 7072 6F63 move.l -[A7], 0x70726F63 /* 'proc' */
00000394 3F3C 0080 move.w -[A7], 0x80
00000398 A9A0 syscall GetResource
0000039A 245F movea.l A2, [A7]+
0000039C 200A move.l D0, A2
0000039E 67B8 beq -0x46 /* 00000358 */
000003A0 2F0A move.l -[A7], A2
000003A2 A992 syscall DetachResource
000003A4 204A movea.l A0, A2
000003A6 A029 syscall HLock
000003A8 2752 001C move.l [A3 + 0x1C], [A2]
000003AC 4267 clr.w -[A7]
000003AE 2F0B move.l -[A7], A3
000003B0 205F movea.l A0, [A7]+
000003B2 A05E syscall NMInstall
000003B4 3E80 move.w [A7], D0
000003B6 3E1F move.w D7, [A7]+
label000003B8:
000003B8 4CDF 0CF8 movem.l D3,D4,D5,D6,D7,A2,A3, [A7]+
000003BC 4E5E unlink A6
000003BE 4E75 rts
fn000003C0:
000003C0 4E56 FF78 link A6, -0x0088
000003C4 48E7 1F30 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3
000003C8 2E2E 0008 move.l D7, [A6 + 0x8]
000003CC 206E 000E movea.l A0, [A6 + 0xE]
000003D0 4250 clr.w [A0]
000003D2 4227 clr.b -[A7]
000003D4 A99B syscall SetResLoad
000003D6 42A7 clr.l -[A7]
000003D8 2F07 move.l -[A7], D7
000003DA 3F2E 000C move.w -[A7], [A6 + 0xC]
000003DE A9A0 syscall GetResource
000003E0 265F movea.l A3, [A7]+
000003E2 1F3C 0001 move.b -[A7], 0x1
000003E6 A99B syscall SetResLoad
000003E8 200B move.l D0, A3
000003EA 6606 bne +0x8 /* 000003F2 */
000003EC 70FF moveq.l D0, 0xFFFFFFFF
000003EE 6000 00BA bra +0xBC /* 000004AA */
label000003F2:
000003F2 2F0B move.l -[A7], A3
000003F4 486E FFFE pea.l [A6 - 0x2]
000003F8 486E FFF8 pea.l [A6 - 0x8]
000003FC 486E FF78 pea.l [A6 - 0x88]
00000400 A9A8 syscall GetResInfo
00000402 2F0B move.l -[A7], A3
00000404 A9A3 syscall ReleaseResource
00000406 4EBA 00AA jsr [PC + 0xAA /* 000004B2 */]
0000040A 3A00 move.w D5, D0
0000040C 4A45 tst.w D5
0000040E 6C06 bge +0x8 /* 00000416 */
00000410 70FE moveq.l D0, 0xFFFFFFFE
00000412 6000 0096 bra +0x98 /* 000004AA */
label00000416:
00000416 A11A syscall GetZone, flags=1
00000418 2448 movea.l A2, A0
0000041A 2078 02A6 movea.l A0, [0x000002A6 /* SysZone */]
0000041E A01B syscall SetZone
00000420 42A7 clr.l -[A7]
00000422 2F07 move.l -[A7], D7
00000424 3F2E 000C move.w -[A7], [A6 + 0xC]
00000428 A9A0 syscall GetResource
0000042A 265F movea.l A3, [A7]+
0000042C 200B move.l D0, A3
0000042E 6604 bne +0x6 /* 00000434 */
00000430 70FD moveq.l D0, 0xFFFFFFFD
00000432 6076 bra +0x78 /* 000004AA */
label00000434:
00000434 0C87 4452 5652 cmpi.l D7, 0x44525652 /* 'DRVR' */
0000043A 6706 beq +0x8 /* 00000442 */
0000043C 204A movea.l A0, A2
0000043E A01B syscall SetZone
00000440 6062 bra +0x64 /* 000004A4 */
label00000442:
00000442 2F0B move.l -[A7], A3
00000444 3F05 move.w -[A7], D5
00000446 42A7 clr.l -[A7]
00000448 A9A9 syscall SetResInfo
0000044A 426E FFFC clr.w [A6 - 0x4]
0000044E 4267 clr.w -[A7]
00000450 486E FF78 pea.l [A6 - 0x88]
00000454 486E FFFC pea.l [A6 - 0x4]
00000458 4EBA 0622 jsr [PC + 0x622 /* 00000A7C */]
0000045C 3C1F move.w D6, [A7]+
0000045E 204A movea.l A0, A2
00000460 A01B syscall SetZone
00000462 2F0B move.l -[A7], A3
00000464 3F2E 000C move.w -[A7], [A6 + 0xC]
00000468 42A7 clr.l -[A7]
0000046A A9A9 syscall SetResInfo
0000046C 4267 clr.w -[A7]
0000046E 2F0B move.l -[A7], A3
00000470 A9A4 syscall HomeResFile
00000472 381F move.w D4, [A7]+
00000474 4267 clr.w -[A7]
00000476 3F04 move.w -[A7], D4
00000478 A9F6 syscall GetResFileAttrs
0000047A 361F move.w D3, [A7]+
0000047C 0243 FFDF andi.w D3, 0xFFDF
00000480 3F04 move.w -[A7], D4
00000482 3F03 move.w -[A7], D3
00000484 A9F7 syscall SetResFileAttrs
00000486 4A46 tst.w D6
00000488 660A bne +0xC /* 00000494 */
0000048A 3005 move.w D0, D5
0000048C 4640 not.w D0
0000048E B06E FFFC cmp.w D0, [A6 - 0x4]
00000492 6708 beq +0xA /* 0000049C */
label00000494:
00000494 2F0B move.l -[A7], A3
00000496 A9A3 syscall ReleaseResource
00000498 70FC moveq.l D0, 0xFFFFFFFC
0000049A 600E bra +0x10 /* 000004AA */
label0000049C:
0000049C 206E 000E movea.l A0, [A6 + 0xE]
000004A0 30AE FFFC move.w [A0], [A6 - 0x4]
label000004A4:
000004A4 2F0B move.l -[A7], A3
000004A6 A992 syscall DetachResource
000004A8 7000 moveq.l D0, 0x00
label000004AA:
000004AA 4CDF 0CF8 movem.l D3,D4,D5,D6,D7,A2,A3, [A7]+
000004AE 4E5E unlink A6
000004B0 4E75 rts
fn000004B2:
000004B2 4E56 FFEA link A6, -0x0016
label000004B6:
000004B6 2D78 011C FFEE move.l [A6 - 0x12], [0x0000011C /* UTableBase */]
000004BC 3038 01D2 move.w D0, [0x000001D2 /* UnitNtryCnt */]
000004C0 48C0 ext.l D0
000004C2 E588 lsl D0, 2
000004C4 D0AE FFEE add.l D0, [A6 - 0x12]
000004C8 2D40 FFEA move.l [A6 - 0x16], D0
000004CC 426E FFFC clr.w [A6 - 0x4]
000004D0 3D7C 0030 FFFE move.w [A6 - 0x2], 0x30 /* '0' */
000004D6 206E FFEE movea.l A0, [A6 - 0x12]
000004DA 41E8 00C0 lea.l A0, [A0 + 0xC0]
000004DE 2D48 FFEE move.l [A6 - 0x12], A0
000004E2 601C bra +0x1E /* 00000500 */
label000004E4:
000004E4 206E FFEE movea.l A0, [A6 - 0x12]
000004E8 4A90 tst.l [A0]
000004EA 660C bne +0xE /* 000004F8 */
000004EC 4A6E FFFC tst.w [A6 - 0x4]
000004F0 6606 bne +0x8 /* 000004F8 */
000004F2 3D6E FFFE FFFC move.w [A6 - 0x4], [A6 - 0x2]
label000004F8:
000004F8 58AE FFEE addq.l [A6 - 0x12], 4
000004FC 526E FFFE addq.w [A6 - 0x2], 1
label00000500:
00000500 202E FFEE move.l D0, [A6 - 0x12]
00000504 B0AE FFEA cmp.l D0, [A6 - 0x16]
00000508 65DA bcs -0x24 /* 000004E4 */
0000050A 4A6E FFFC tst.w [A6 - 0x4]
0000050E 666C bne +0x6E /* 0000057C */
00000510 42A7 clr.l -[A7]
00000512 2F38 011C move.l -[A7], [0x0000011C /* UTableBase */]
00000516 4EBA 0548 jsr [PC + 0x548 /* 00000A60 */]
0000051A 201F move.l D0, [A7]+
0000051C E488 lsr D0, 2
0000051E 3D40 FFFA move.w [A6 - 0x6], D0
00000522 B078 01D2 cmp.w D0, [0x000001D2 /* UnitNtryCnt */]
00000526 6F08 ble +0xA /* 00000530 */
00000528 31EE FFFA 01D2 move.w [0x000001D2 /* UnitNtryCnt */], [A6 - 0x6]
0000052E 6086 bra -0x78 /* 000004B6 */
label00000530:
00000530 066E 0010 FFFA addi.w [A6 - 0x6], 0x10
00000536 302E FFFA move.w D0, [A6 - 0x6]
0000053A 48C0 ext.l D0
0000053C E588 lsl D0, 2
0000053E A71E syscall NewPtrSysClear, flags=7
00000540 2D48 FFF6 move.l [A6 - 0xA], A0
00000544 2008 move.l D0, A0
00000546 6604 bne +0x6 /* 0000054C */
00000548 70FF moveq.l D0, 0xFFFFFFFF
0000054A 6034 bra +0x36 /* 00000580 */
label0000054C:
0000054C 40E7 move.w -[A7], SR
0000054E 46FC 2600 3038 move.w SR, 0x26003038 /* '&\008' */
00000554 01D2 .incomplete
00000556 48C0 ext.l D0
00000558 E588 lsl D0, 2
0000055A 226E FFF6 movea.l A1, [A6 - 0xA]
0000055E 2078 011C movea.l A0, [0x0000011C /* UTableBase */]
00000562 A02E syscall BlockMove/BlockMoveData
00000564 2078 011C movea.l A0, [0x0000011C /* UTableBase */]
00000568 A01F syscall DisposPtr/DisposePtr
0000056A 21EE FFF6 011C move.l [0x0000011C /* UTableBase */], [A6 - 0xA]
00000570 31EE FFFA 01D2 move.w [0x000001D2 /* UnitNtryCnt */], [A6 - 0x6]
00000576 46DF move.w SR, [A7]+
00000578 6000 FF3C bra -0xC2 /* 000004B6 */
label0000057C:
0000057C 302E FFFC move.w D0, [A6 - 0x4]
label00000580:
00000580 4E5E unlink A6
00000582 4E75 rts
fn00000584:
00000584 4E56 FEAC link A6, -0x0154
00000588 48E7 0730 movem.l -[A7], D5,D6,D7,A2,A3
0000058C 7E00 moveq.l D7, 0x00
0000058E 0838 0006 028E btst.b [0x0000028E /* ROM85 */], 0x6
00000594 6628 bne +0x2A /* 000005BE */
00000596 42A7 clr.l -[A7]
00000598 AA2A syscall GetMainDevice
0000059A 205F movea.l A0, [A7]+
0000059C 2050 movea.l A0, [A0]
0000059E 2068 0016 movea.l A0, [A0 + 0x16]
000005A2 2050 movea.l A0, [A0]
000005A4 0C68 0004 0020 cmpi.w [A0 + 0x20], 0x4
000005AA 6D12 blt +0x14 /* 000005BE */
000005AC 42A7 clr.l -[A7]
000005AE 3F2E 0008 move.w -[A7], [A6 + 0x8]
000005B2 AA1E syscall GetCIcon
000005B4 265F movea.l A3, [A7]+
000005B6 200B move.l D0, A3
000005B8 6704 beq +0x6 /* 000005BE */
000005BA 7E01 moveq.l D7, 0x01
000005BC 6016 bra +0x18 /* 000005D4 */
label000005BE:
000005BE 42A7 clr.l -[A7]
000005C0 2F3C 4943 4E23 move.l -[A7], 0x49434E23 /* 'ICN#' */
000005C6 3F2E 0008 move.w -[A7], [A6 + 0x8]
000005CA A9A0 syscall GetResource
000005CC 245F movea.l A2, [A7]+
000005CE 200A move.l D0, A2
000005D0 6700 010C beq +0x10E /* 000006DE */
label000005D4:
000005D4 42A7 clr.l -[A7]
000005D6 486E FFFC pea.l [A6 - 0x4]
000005DA 2A57 movea.l A5, [A7]
000005DC 2EB8 0904 move.l [A7], [0x00000904 /* CurrentA5 */]
000005E0 21CD 0904 move.l [0x00000904 /* CurrentA5 */], A5
000005E4 2A1F move.l D5, [A7]+
000005E6 486E FFF8 pea.l [A6 - 0x8]
000005EA A86E syscall InitGraf
000005EC 486E FEC2 pea.l [A6 - 0x13E]
000005F0 A86F syscall OpenPort
000005F2 3C38 092C move.w D6, [0x0000092C]
000005F6 DC46 add.w D6, D6
000005F8 4A38 092C tst.b [0x0000092C]
000005FC 6A04 bpl +0x6 /* 00000602 */
000005FE 0046 0001 ori.w D6, 0x1
label00000602:
00000602 0A46 1021 xori.w D6, 0x1021
00000606 BC78 092E cmp.w D6, [0x0000092E]
0000060A 6706 beq +0x8 /* 00000612 */
0000060C 31FC 0008 092C move.w [0x0000092C], 0x8
label00000612:
00000612 70D8 moveq.l D0, 0xFFFFFFD8
00000614 D06E FECE add.w D0, [A6 - 0x132]
00000618 3D40 FEBA move.w [A6 - 0x146], D0
0000061C 3D78 092C FEBC move.w [A6 - 0x144], [0x0000092C]
00000622 7020 moveq.l D0, 0x20
00000624 D06E FEBA add.w D0, [A6 - 0x146]
00000628 3D40 FEBE move.w [A6 - 0x142], D0
0000062C 7020 moveq.l D0, 0x20
0000062E D06E FEBC add.w D0, [A6 - 0x144]
00000632 3D40 FEC0 move.w [A6 - 0x140], D0
00000636 4A07 tst.b D7
00000638 670E beq +0x10 /* 00000648 */
0000063A 486E FEBA pea.l [A6 - 0x146]
0000063E 2F0B move.l -[A7], A3
00000640 AA1F syscall PlotCIcon
00000642 2F0B move.l -[A7], A3
00000644 AA25 syscall DisposeCIcon/DisposCIcon
00000646 6064 bra +0x66 /* 000006AC */
label00000648:
00000648 204A movea.l A0, A2
0000064A A029 syscall HLock
0000064C 2052 movea.l A0, [A2]
0000064E 41E8 0080 lea.l A0, [A0 + 0x80]
00000652 2D48 FEAC move.l [A6 - 0x154], A0
00000656 3D7C 0004 FEB0 move.w [A6 - 0x150], 0x4
0000065C 426E FEB2 clr.w [A6 - 0x14E]
00000660 426E FEB4 clr.w [A6 - 0x14C]
00000664 3D7C 0020 FEB6 move.w [A6 - 0x14A], 0x20 /* ' ' */
0000066A 3D7C 0020 FEB8 move.w [A6 - 0x148], 0x20 /* ' ' */
00000670 486E FEAC pea.l [A6 - 0x154]
00000674 486E FEC4 pea.l [A6 - 0x13C]
00000678 486E FEB2 pea.l [A6 - 0x14E]
0000067C 486E FEBA pea.l [A6 - 0x146]
00000680 3F3C 0003 move.w -[A7], 0x3
00000684 42A7 clr.l -[A7]
00000686 A8EC syscall CopyBits
00000688 04AE 0000 0080 FEAC subi.l [A6 - 0x154], 0x80
00000690 486E FEAC pea.l [A6 - 0x154]
00000694 486E FEC4 pea.l [A6 - 0x13C]
00000698 486E FEB2 pea.l [A6 - 0x14E]
0000069C 486E FEBA pea.l [A6 - 0x146]
000006A0 3F3C 0001 move.w -[A7], 0x1
000006A4 42A7 clr.l -[A7]
000006A6 A8EC syscall CopyBits
000006A8 2F0A move.l -[A7], A2
000006AA A9A3 syscall ReleaseResource
label000006AC:
000006AC 0678 0028 092C addi.w [0x0000092C], 0x28 /* '(' */
000006B2 3C38 092C move.w D6, [0x0000092C]
000006B6 DC46 add.w D6, D6
000006B8 4A38 092C tst.b [0x0000092C]
000006BC 6A04 bpl +0x6 /* 000006C2 */
000006BE 0046 0001 ori.w D6, 0x1
label000006C2:
000006C2 0A46 1021 xori.w D6, 0x1021
000006C6 31C6 092E move.w [0x0000092E], D6
000006CA 486E FEC2 pea.l [A6 - 0x13E]
000006CE A87D syscall ClosePort
000006D0 42A7 clr.l -[A7]
000006D2 2F05 move.l -[A7], D5
000006D4 2A57 movea.l A5, [A7]
000006D6 2EB8 0904 move.l [A7], [0x00000904 /* CurrentA5 */]
000006DA 21CD 0904 move.l [0x00000904 /* CurrentA5 */], A5
label000006DE:
000006DE 4CEE 0CE0 FE98 movem.l D5,D6,D7,A2,A3, [A6 - 0x168]
000006E4 4E5E unlink A6
000006E6 4E75 rts
fn000006E8:
000006E8 4A78 028E tst.w [0x0000028E /* ROM85 */]
000006EC 6B22 bmi +0x24 /* 00000710 */
000006EE 303C 0090 move.w D0, 0x90
000006F2 A346 syscall GetOSTrapAddress, flags=3
000006F4 2248 movea.l A1, A0
000006F6 303C 009F move.w D0, 0x9F
000006FA A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000006FC B3C8 cmpa.l A1, A0
000006FE 6710 beq +0x12 /* 00000710 */
00000700 225F movea.l A1, [A7]+
00000702 205F movea.l A0, [A7]+
00000704 301F move.w D0, [A7]+
00000706 2F09 move.l -[A7], A1
00000708 A090 syscall SysEnvirons
0000070A 3F40 0004 move.w [A7 + 0x4], D0
0000070E 4E75 rts
label00000710:
00000710 206F 0004 movea.l A0, [A7 + 0x4]
00000714 303C 0001 move.w D0, 0x1
00000718 2248 movea.l A1, A0
0000071A 6006 bra +0x8 /* 00000722 */
0000071C 0313 btst [A3], D1
0000071E 0B02 btst D2, D5
00000720 0100 btst D0, D0
label00000722:
00000722 303C 0010 move.w D0, 0x10
00000726 E240 asr D0.w, 1
00000728 5340 subq.w D0, 1
label0000072A:
0000072A 4258 clr.w [A0]+
0000072C 51C8 FFFC dbf D0, -0x6 /* 0000072A */
00000730 32BC 0001 move.w [A1], 0x1
00000734 2078 02AE movea.l A0, [0x000002AE /* ROMBase */]
00000738 337C FFFE 0002 move.w [A1 + 0x2], 0xFFFE
0000073E 0C28 00FF 0009 cmpi.b [A0 + 0x9], 0xFF
00000744 6742 beq +0x44 /* 00000788 */
00000746 4A28 0008 tst.b [A0 + 0x8]
0000074A 6E20 bgt +0x22 /* 0000076C */
0000074C 337C FFFF 0002 move.w [A1 + 0x2], 0xFFFF
00000752 4A78 028E tst.w [0x0000028E /* ROM85 */]
00000756 6B30 bmi +0x32 /* 00000788 */
00000758 337C 0001 0002 move.w [A1 + 0x2], 0x1
0000075E 4A78 0B22 tst.w [0x00000B22 /* HWCfgFlags */]
00000762 6A24 bpl +0x26 /* 00000788 */
00000764 337C 0002 0002 move.w [A1 + 0x2], 0x2
0000076A 601C bra +0x1E /* 00000788 */
label0000076C:
0000076C 4269 0002 clr.w [A1 + 0x2]
00000770 0C28 0002 0008 cmpi.b [A0 + 0x8], 0x2
00000776 6E10 bgt +0x12 /* 00000788 */
00000778 6708 beq +0xA /* 00000782 */
0000077A 337C 0004 0002 move.w [A1 + 0x2], 0x4
00000780 6006 bra +0x8 /* 00000788 */
label00000782:
00000782 337C 0003 0002 move.w [A1 + 0x2], 0x3
label00000788:
00000788 4269 0004 clr.w [A1 + 0x4]
0000078C 0C38 0002 012F cmpi.b [0x0000012F /* CPUFlag */], 0x2
00000792 6E0A bgt +0xC /* 0000079E */
00000794 1038 012F move.b D0, [0x0000012F /* CPUFlag */]
00000798 5240 addq.w D0, 1
0000079A 1340 0007 move.b [A1 + 0x7], D0
label0000079E:
0000079E 4A78 028E tst.w [0x0000028E /* ROM85 */]
000007A2 6B0E bmi +0x10 /* 000007B2 */
000007A4 0838 0004 0B22 btst.b [0x00000B22 /* HWCfgFlags */], 0x4
000007AA 6706 beq +0x8 /* 000007B2 */
000007AC 137C 0001 0008 move.b [A1 + 0x8], 0x1
label000007B2:
000007B2 0C78 3FFF 028E cmpi.w [0x0000028E /* ROM85 */], 0x3FFF
000007B8 6206 bhi +0x8 /* 000007C0 */
000007BA 137C 0001 0009 move.b [A1 + 0x9], 0x1
label000007C0:
000007C0 1038 021E move.b D0, [0x0000021E /* KbdType */]
000007C4 41FA FF5B lea.l A0, [PC - 0xA5 /* 00000721, value 0x303C00 '0<\0', cstring "" */]
000007C8 323C 0004 move.w D1, 0x4
label000007CC:
000007CC B020 cmp.b D0, -[A0]
000007CE 57C9 FFFC dbeq D1, -0x6 /* 000007CC */
000007D2 5241 addq.w D1, 1
000007D4 3341 000A move.w [A1 + 0xA], D1
000007D8 4A38 0291 tst.b [0x00000291 /* PortBUse */]
000007DC 6B18 bmi +0x1A /* 000007F6 */
000007DE 1238 01FB move.b D1, [0x000001FB /* SPConfig */]
000007E2 0201 000F andi.b D1, 0xF
000007E6 0C01 0001 cmpi.b D1, 0x1
000007EA 660A bne +0xC /* 000007F6 */
000007EC 2078 02DC movea.l A0, [0x000002DC /* ABusDCE */]
000007F0 1368 0007 000D move.b [A1 + 0xD], [A0 + 0x7]
label000007F6:
000007F6 3378 0210 000E move.w [A1 + 0xE], [0x00000210 /* BootDrive */]
000007FC 4A78 03F6 tst.w [0x000003F6 /* FSFCBLen */]
00000800 6D44 blt +0x46 /* 00000846 */
00000802 4269 000E clr.w [A1 + 0xE]
00000806 323C 003C move.w D1, 0x3C /* '<' */
label0000080A:
0000080A 4267 clr.w -[A7]
0000080C 51C9 FFFC dbf D1, -0x6 /* 0000080A */
00000810 204F movea.l A0, A7
00000812 3178 0A58 0018 move.w [A0 + 0x18], [0x00000A58 /* SysMap */]
00000818 7008 moveq.l D0, 0x08
0000081A A260 syscall FSDispatch/HFSDispatch, flags=2
0000081C 6624 bne +0x26 /* 00000842 */
0000081E 3168 0034 0016 move.w [A0 + 0x16], [A0 + 0x34]
00000824 A207 syscall GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
00000826 661A bne +0x1C /* 00000842 */
00000828 2168 005A 0030 move.l [A0 + 0x30], [A0 + 0x5A]
0000082E 217C 4552 494B 001C move.l [A0 + 0x1C], 0x4552494B /* 'ERIK' */
00000836 7001 moveq.l D0, 0x01
00000838 A260 syscall FSDispatch/HFSDispatch, flags=2
0000083A 6606 bne +0x8 /* 00000842 */
0000083C 3368 0016 000E move.w [A1 + 0xE], [A0 + 0x16]
label00000842:
00000842 4FEF 007A lea.l A7, [A7 + 0x7A]
label00000846:
00000846 2049 movea.l A0, A1
00000848 225F movea.l A1, [A7]+
0000084A 5C4F addq.w A7, 6
0000084C 3EBC EA84 move.w [A7], 0xEA84
00000850 4ED1 jmp [A1]
fn00000852:
00000852 4E56 0000 link A6, 0
00000856 203C 0000 A89F move.l D0, 0xA89F
0000085C A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
0000085E 2F08 move.l -[A7], A0
00000860 203C 0000 A0AD move.l D0, 0xA0AD
00000866 A346 syscall GetOSTrapAddress, flags=3
00000868 B1DF cmpa.l A0, [A7]+
0000086A 670E beq +0x10 /* 0000087A */
0000086C 202E 000C move.l D0, [A6 + 0xC]
00000870 A1AD syscall Gestalt, flags=1
00000872 226E 0008 movea.l A1, [A6 + 0x8]
00000876 2288 move.l [A1], A0
00000878 6026 bra +0x28 /* 000008A0 */
label0000087A:
0000087A 41FA 0036 lea.l A0, [PC + 0x36 /* 000008B2, value 0x76657273 'vers', cstring "vers" */]
0000087E 303C EA51 move.w D0, 0xEA51
00000882 222E 000C move.l D1, [A6 + 0xC]
label00000886:
00000886 B298 cmp.l D1, [A0]+
00000888 6706 beq +0x8 /* 00000890 */
0000088A 4A98 tst.l [A0]+
0000088C 6712 beq +0x14 /* 000008A0 */
0000088E 60F6 bra -0x8 /* 00000886 */
label00000890:
00000890 43FA 0020 lea.l A1, [PC + 0x20 /* 000008B2, value 0x76657273 'vers', cstring "vers" */]
00000894 D3D0 add.l A1, [A0]
00000896 4ED1 jmp [A1]
label00000898:
00000898 226E 0008 movea.l A1, [A6 + 0x8]
0000089C 2280 move.l [A1], D0
0000089E 4240 clr.w D0
label000008A0:
000008A0 3D40 0010 move.w [A6 + 0x10], D0
000008A4 4E5E unlink A6
000008A6 205F movea.l A0, [A7]+
000008A8 508F addq.l A7, 8
000008AA 4ED0 jmp [A0]
label000008AC:
000008AC 303C EA52 move.w D0, 0xEA52
000008B0 60EE bra -0x10 /* 000008A0 */
000008B2 7665 moveq.l D3, 0x65
000008B4 7273 moveq.l D1, 0x73
000008B6 0000 0060 ori.b D0, 0x60 /* '`' */
000008BA 6D61 blt +0x63 /* 0000091D */
000008BC 6368 bls +0x6A /* 00000926 */
000008BE 0000 0064 ori.b D0, 0x64 /* 'd' */
000008C2 7379 moveq.l D1, 0x79
000008C4 7376 moveq.l D1, 0x76
000008C6 0000 0088 ori.b D0, 0x88
000008CA 7072 moveq.l D0, 0x72
000008CC 6F63 ble +0x65 /* 00000931 */
000008CE 0000 0092 ori.b D0, 0x92
000008D2 6670 bne +0x72 /* 00000944 */
000008D4 7520 moveq.l D2, 0x20
000008D6 0000 009E ori.b D0, 0x9E
000008DA 7164 moveq.l D0, 0x64
000008DC 2020 move.l D0, -[A0]
000008DE 0000 00E8 ori.b D0, 0xE8
000008E2 6B62 bmi +0x64 /* 00000946 */
000008E4 6420 bcc +0x22 /* 00000906 */
000008E6 0000 011A ori.b D0, 0x1A
000008EA 6174 bsr +0x76 /* 00000960 */
000008EC 6C6B bge +0x6D /* 00000959 */
000008EE 0000 0142 ori.b D0, 0x42 /* 'B' */
000008F2 6D6D blt +0x6F /* 00000961 */
000008F4 7520 moveq.l D2, 0x20
000008F6 0000 0164 ori.b D0, 0x64 /* 'd' */
000008FA 7261 moveq.l D1, 0x61
000008FC 6D20 blt +0x22 /* 0000091E */
000008FE 0000 0188 ori.b D0, 0x88
00000902 6C72 bge +0x74 /* 00000976 */
00000904 616D bsr +0x6F /* 00000973 */
label00000906:
00000906 0000 0188 ori.b D0, 0x88
0000090A 0000 0000 ori.b D0, 0x0
0000090E 0000 0000 ori.b D0, 0x0
00000912 7001 moveq.l D0, 0x01
00000914 6082 bra -0x7C /* 00000898 */
00000916 2278 02AE movea.l A1, [0x000002AE /* ROMBase */]
0000091A 7004 moveq.l D0, 0x04
0000091C 0C69 0075 0008 cmpi.w [A1 + 0x8], 0x75 /* 'u' */
// begin alternate branch 0000091E-00000926
label0000091E:
0000091E 0075 0008 6712 0C69 ori.w [[A5 + D6 * 8] + 0xC69], 0x8
// end alternate branch 0000091E-00000926
label0000091E: // (misaligned)
00000922 6712 beq +0x14 /* 00000936 */
00000924 0C69 0276 0008 cmpi.w [A1 + 0x8], 0x276
// begin alternate branch 00000926-0000092C
label00000926:
00000926 0276 0008 6604 andi.w [A6 + D6.w * 8 + 0x4], 0x8
// end alternate branch 00000926-0000092C
label00000926: // (misaligned)
0000092A 6604 bne +0x6 /* 00000930 */
0000092C 5240 addq.w D0, 1
0000092E 6006 bra +0x8 /* 00000936 */
label00000930:
00000930 1038 0CB3 move.b D0, [0x00000CB3 /* MMUFluff/MachineType */]
00000934 5C80 addq.l D0, 6
label00000936:
00000936 6000 FF60 bra -0x9E /* 00000898 */
0000093A 7000 moveq.l D0, 0x00
0000093C 3038 015A move.w D0, [0x0000015A /* SysVersion */]
00000940 6000 FF56 bra -0xA8 /* 00000898 */
label00000944:
00000944 7000 moveq.l D0, 0x00
label00000946:
00000946 1038 012F move.b D0, [0x0000012F /* CPUFlag */]
0000094A 5240 addq.w D0, 1
0000094C 6000 FF4A bra -0xB4 /* 00000898 */
00000950 0C38 0004 012F cmpi.b [0x0000012F /* CPUFlag */], 0x4
00000956 6738 beq +0x3A /* 00000990 */
00000958 0838 0004 0B22 btst.b [0x00000B22 /* HWCfgFlags */], 0x4
0000095E 6734 beq +0x36 /* 00000994 */
fn00000960:
00000960 204F movea.l A0, A7
00000962 F280 0000 fnop
00000966 F327 .extension 0x327 <<F/4-5/1>> // unimplemented
00000968 3017 move.w D0, [A7]
0000096A 2E48 movea.l A7, A0
0000096C 0C40 1F18 cmpi.w D0, 0x1F18
00000970 6716 beq +0x18 /* 00000988 */
00000972 0C40 3F18 cmpi.w D0, 0x3F18
label00000976:
00000976 6710 beq +0x12 /* 00000988 */
00000978 0C40 3F38 cmpi.w D0, 0x3F38 /* '?8' */
0000097C 670E beq +0x10 /* 0000098C */
0000097E 0C40 1F38 cmpi.w D0, 0x1F38
00000982 6708 beq +0xA /* 0000098C */
00000984 7000 moveq.l D0, 0x00
00000986 600E bra +0x10 /* 00000996 */
label00000988:
00000988 7001 moveq.l D0, 0x01
0000098A 600A bra +0xC /* 00000996 */
label0000098C:
0000098C 7002 moveq.l D0, 0x02
0000098E 6006 bra +0x8 /* 00000996 */
label00000990:
00000990 7003 moveq.l D0, 0x03
00000992 6002 bra +0x4 /* 00000996 */
label00000994:
00000994 7000 moveq.l D0, 0x00
label00000996:
00000996 6000 FF00 bra -0xFE /* 00000898 */
0000099A 0C78 3FFF 028E cmpi.w [0x0000028E /* ROM85 */], 0x3FFF
000009A0 6E1C bgt +0x1E /* 000009BE */
000009A2 303C A89F move.w D0, 0xA89F
000009A6 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000009A8 2408 move.l D2, A0
000009AA 203C 0000 AB03 move.l D0, 0xAB03
000009B0 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000009B2 203C 0000 0100 move.l D0, 0x100
000009B8 B488 cmp.l D2, A0
000009BA 6606 bne +0x8 /* 000009C2 */
000009BC 600A bra +0xC /* 000009C8 */
label000009BE:
000009BE 7000 moveq.l D0, 0x00
000009C0 6006 bra +0x8 /* 000009C8 */
label000009C2:
000009C2 203C 0000 0200 move.l D0, 0x200
label000009C8:
000009C8 6000 FECE bra -0x130 /* 00000898 */
000009CC 1038 021E move.b D0, [0x0000021E /* KbdType */]
000009D0 41FA 0016 lea.l A0, [PC + 0x16 /* 000009E8, value 0x3130B02 */]
000009D4 2248 movea.l A1, A0
label000009D6:
000009D6 1218 move.b D1, [A0]+
000009D8 6700 FED2 beq -0x12C /* 000008AC */
000009DC B200 cmp.b D1, D0
000009DE 66F6 bne -0x8 /* 000009D6 */
000009E0 91C9 sub.l A0, A1
000009E2 2008 move.l D0, A0
000009E4 6000 FEB2 bra -0x14C /* 00000898 */
000009E8 0313 btst [A3], D1
000009EA 0B02 btst D2, D5
000009EC 0106 btst D6, D0
000009EE 0704 btst D4, D3
000009F0 0508 btst A0, D2
000009F2 0900 btst D0, D4
000009F4 7000 moveq.l D0, 0x00
000009F6 4A38 0291 tst.b [0x00000291 /* PortBUse */]
000009FA 6B16 bmi +0x18 /* 00000A12 */
000009FC 1238 01FB move.b D1, [0x000001FB /* SPConfig */]
00000A00 0201 000F andi.b D1, 0xF
00000A04 0C01 0001 cmpi.b D1, 0x1
00000A08 6608 bne +0xA /* 00000A12 */
00000A0A 2078 02DC movea.l A0, [0x000002DC /* ABusDCE */]
00000A0E 1028 0007 move.b D0, [A0 + 0x7]
label00000A12:
00000A12 6000 FE84 bra -0x17A /* 00000898 */
00000A16 0C38 0002 012F cmpi.b [0x0000012F /* CPUFlag */], 0x2
00000A1C 6D16 blt +0x18 /* 00000A34 */
00000A1E 7000 moveq.l D0, 0x00
00000A20 1038 0CB1 move.b D0, [0x00000CB1 /* MMUType */]
00000A24 0C00 0001 cmpi.b D0, 0x1
00000A28 670C beq +0xE /* 00000A36 */
00000A2A 0C00 0003 cmpi.b D0, 0x3
00000A2E 6D04 blt +0x6 /* 00000A34 */
00000A30 5340 subq.w D0, 1
00000A32 6002 bra +0x4 /* 00000A36 */
label00000A34:
00000A34 7000 moveq.l D0, 0x00
label00000A36:
00000A36 6000 FE60 bra -0x19E /* 00000898 */
00000A3A 303C A89F move.w D0, 0xA89F
00000A3E A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000A40 2408 move.l D2, A0
00000A42 203C 0000 A88F move.l D0, 0xA88F
00000A48 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000A4A 2038 0108 move.l D0, [0x00000108 /* MemTop */]
00000A4E B488 cmp.l D2, A0
00000A50 670A beq +0xC /* 00000A5C */
00000A52 598F subq.l A7, 4
00000A54 3F3C 0016 move.w -[A7], 0x16
00000A58 A88F syscall OSDispatch
00000A5A 201F move.l D0, [A7]+
label00000A5C:
00000A5C 6000 FE3A bra -0x1C4 /* 00000898 */
fn00000A60:
00000A60 225F movea.l A1, [A7]+
00000A62 205F movea.l A0, [A7]+
00000A64 A021 syscall GetPtrSize
00000A66 2E80 move.l [A7], D0
00000A68 6A02 bpl +0x4 /* 00000A6C */
00000A6A 4297 clr.l [A7]
label00000A6C:
00000A6C 4ED1 jmp [A1]
fn00000A6E:
00000A6E 225F movea.l A1, [A7]+
00000A70 205F movea.l A0, [A7]+
00000A72 A025 syscall GetHandleSize
00000A74 2E80 move.l [A7], D0
00000A76 6A02 bpl +0x4 /* 00000A7A */
00000A78 4297 clr.l [A7]
label00000A7A:
00000A7A 4ED1 jmp [A1]
fn00000A7C:
00000A7C 7018 moveq.l D0, 0x18
label00000A7E:
00000A7E 4267 clr.w -[A7]
00000A80 51C8 FFFC dbf D0, -0x6 /* 00000A7E */
00000A84 2F6F 003A 0012 move.l [A7 + 0x12], [A7 + 0x3A]
00000A8A 204F movea.l A0, A7
00000A8C A000 syscall Open/PBHOpen/HOpen
00000A8E 206F 0036 movea.l A0, [A7 + 0x36]
00000A92 30AF 0018 move.w [A0], [A7 + 0x18]
00000A96 206F 0032 movea.l A0, [A7 + 0x32]
00000A9A 4FEF 003E lea.l A7, [A7 + 0x3E]
00000A9E 3E80 move.w [A7], D0
00000AA0 4ED0 jmp [A0]
fn00000AA2:
00000AA2 225F movea.l A1, [A7]+
00000AA4 101F move.b D0, [A7]+
00000AA6 205F movea.l A0, [A7]+
00000AA8 6604 bne +0x6 /* 00000AAE */
00000AAA A005 syscall Status
00000AAC 6002 bra +0x4 /* 00000AB0 */
label00000AAE:
00000AAE A405 syscall Status, flags=4
label00000AB0:
00000AB0 3E80 move.w [A7], D0
00000AB2 4ED1 jmp [A1]
fn00000AB4:
00000AB4 4E56 0000 link A6, 0
00000AB8 594F subq.w A7, 4
00000ABA 2F3C 5354 5223 move.l -[A7], 0x53545223 /* 'STR#' */
00000AC0 3F2E 000A move.w -[A7], [A6 + 0xA]
00000AC4 A9A0 syscall GetResource
00000AC6 226E 000C movea.l A1, [A6 + 0xC]
00000ACA 4211 clr.b [A1]
00000ACC 201F move.l D0, [A7]+
00000ACE 6722 beq +0x24 /* 00000AF2 */
00000AD0 2040 movea.l A0, D0
00000AD2 2050 movea.l A0, [A0]
00000AD4 3018 move.w D0, [A0]+
00000AD6 322E 0008 move.w D1, [A6 + 0x8]
00000ADA 6716 beq +0x18 /* 00000AF2 */
00000ADC B240 cmp.w D1, D0
00000ADE 6212 bhi +0x14 /* 00000AF2 */
00000AE0 7000 moveq.l D0, 0x00
label00000AE2:
00000AE2 5341 subq.w D1, 1
00000AE4 6706 beq +0x8 /* 00000AEC */
00000AE6 1018 move.b D0, [A0]+
00000AE8 D1C0 add.l A0, D0
00000AEA 60F6 bra -0x8 /* 00000AE2 */
label00000AEC:
00000AEC 1010 move.b D0, [A0]
00000AEE 5240 addq.w D0, 1
00000AF0 A02E syscall BlockMove/BlockMoveData
label00000AF2:
00000AF2 4E5E unlink A6
00000AF4 205F movea.l A0, [A7]+
00000AF6 508F addq.l A7, 8
00000AF8 4ED0 jmp [A0]